#ifndef _ARMOR_H_
#define _ARMOR_H_

#include <opencv2/opencv.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/imgproc/types_c.h>
#include <iostream>
#include <vector>

#define PI 3.14159265
#define BIG 0
#define SMALL 1

using namespace cv;
using namespace std;

typedef struct ANGLE
{
    float yaw;
    float pitch;
} Angle;

class Armor
{
private:
    
public:
    int number;
    Point2f center;
    float d_x, d_y, d_z;
    
    vector<Point2f> rect;               //四点顺序为顺时针,rect[0]为左下
    float position_cam[3];               //相机坐标系下的位置
    float distance;                     //目标中心到相机坐标系原点距离
    float lightbar_length;              //灯条长度           
    
private:
    void getPnp();

public:
    Armor();
    //装甲板检测到的四点、ROI相对于原图的坐标偏移、识别到的数字
    Armor(vector<Point2f> rect_detected, Point move_roi, int number_detected);
    
};
#endif